﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp_High_level
{
    class Program
    {
        static void Main(string[] args)
        {
            //MyGenericClass();
            MyList();

            Console.ReadLine();
        }

        //使用泛型可以有效节省代码，并且维护非常方便
        public static void MyGenericClass()
        {
            MyGenericClass genericClass = new MyGenericClass();
            int result1 = genericClass.Add<int, int, int>(100, 200);
            double result2 = genericClass.Add<double, double, double>(100.68, 200.45);
            Console.WriteLine(result1);
            Console.WriteLine(result2);
        }

        public static void MyList()
        {
            List<int> intList = new List<int>() { 1, 2, 5, 6, 9 };
            Console.WriteLine(intList[3]);

            //使用泛型类
            MyList<string> stringList = new MyList<string>();
            stringList.Add("上位机SCADA");
            stringList.Add("上位机运动控制系统");
            stringList.Add("上位机视觉开发");

            stringList.AddRange(new string[] { "常老师", "付老师" });

            Console.WriteLine("自定义泛型集合的长度：" + stringList.Length);
            Console.WriteLine("自定义泛型集合索引器：" + stringList[2]);
            stringList[1] = "上位机运动控制系统付老师正在讲";
            Console.WriteLine(stringList[1]);
            ;
        }   
    }
}
